// RAP [rh] Keys completely disabled as not implemented in RWT ///******************************************************************************* // * Copyright (c) 2000, 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ // //package org.eclipse.ui.internal.keys; // //import java.util.List; // //import org.eclipse.swt.widgets.Event; //import org.eclipse.swt.widgets.Listener; //import org.eclipse.swt.widgets.Widget; // ///** // * A listener that makes sure that global key bindings are processed if no other // * listeners do any useful work. // * // * @since 3.0 // */ //public class OutOfOrderListener implements Listener { // /** // * The time at which this listener was last registered to an event. This is // * the <code>event.time</code> value. // * // * @since 3.1 // */ // private int active = Integer.MIN_VALUE; // // /** // * The keyboard interface to which the event should be passed if it is not // * eaten. // */ // private final WorkbenchKeyboard keyboard; // // /** // * Constructs a new instance of <code>OutOfOrderListener</code> with a // * reference to the keyboard interface which should be allowed to process // * uneaten events. // * // * @param workbenchKeyboard // * The keyboard interface for the workbench capable of processing // * key bindings; must not be <code>null</code>. // */ // public OutOfOrderListener(WorkbenchKeyboard workbenchKeyboard) { // keyboard = workbenchKeyboard; // } // // /** // * Handles the key down event on a widget by passing uneaten events to the // * key binding architecture. This is used to allow special keys to reach the // * widget first -- before being processed by the key binding architecture. // * // * @param event // * The event to process; must not be <code>null</code> // */ // public void handleEvent(Event event) { // // Always remove myself as a listener. // final Widget widget = event.widget; // if ((widget != null) && (!widget.isDisposed())) { // widget.removeListener(event.type, this); // } // // /* // * If the event is still up for grabs, then re-route through the global // * key filter. // */ // if (event.doit) { // List keyStrokes = WorkbenchKeyboard // .generatePossibleKeyStrokes(event); // keyboard.processKeyEvent(keyStrokes, event); // } // } // // /** // * Returns whether this listener has been hooked by this event already. // * // * @param timeRegistered // * The <code>event.time</code> for the current event. // * @return <code>true</code> if this listener is registered for a // * different event; <code>false</code> otherwise. // * // * @since 3.1 // */ // final boolean isActive(final int timeRegistered) { // return (active == timeRegistered); // } // // /** // * Sets the event time at which this listener was last registered with a // * widget. // * // * @param timeRegistered // * The time at which this listener was last registered with a // * widget. // * // * @since 3.1 // */ // final void setActive(final int timeRegistered) { // active = timeRegistered; // } //}